import java.util.ArrayList;
import java.util.Collections;


public class Reka {
    ArrayList<Karta> karty;
    Uklad uklad;

    public Reka(ArrayList<Karta> karty)
    {
        Collections.sort(karty);
        this.karty = karty;
    }

    public Karta wezKarte(int indeks)
    {
        return karty.get(indeks);
    }

    public void dodajKarte(Karta k)
    {
        if (karty.size() < 4)
        {
            karty.add(k);
        }
        Collections.sort(karty);
    }

    public void usunKarty(ArrayList<Karta> kartyDoUsuniecia)
    {
        karty.removeAll(kartyDoUsuniecia);
    }

    public String pobierzUklad()
    {
        ustalUklad();
        return uklad.name();
    }
    public void ustalUklad()
    {
        if (czyTheWheel())
        {
            uklad = Uklad.TheWheel;
        }
        else if (czyFourCardBadugi())
        {
            uklad = Uklad.FourCardBadugi;
        }
        else if (czyThreeCardBadugi())
        {
            uklad = Uklad.ThreeCardBadugi;
        }
        else if (czyPair())
        {
            uklad = Uklad.Pair;
        }
        else if (czyTwoCardBadugi())
        {
            uklad = Uklad.TwoCardBadugi;
        }
        else if (czyTwoPairs())
        {
            uklad = Uklad.TwoPairs;
        }
        else if (czyOneCardBadugi())
        {
            uklad = Uklad.OneCardBadugi;
        }
        else if (czyThree())
        {
            uklad = Uklad.Three;
        }
        else if (czyColour())
        {
        	uklad = Uklad.Colour;
        }
        else if (czyStreet()) {
        	uklad = Uklad.Street;
        }
        else
        {
            uklad = Uklad.LowestEqualSizeBadugi;
        }
    }
}
